package act.droidcar;

import java.text.NumberFormat;
import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.droidcar.DataBaseCreate;
import com.droidcar.FavoritosDB;
import com.droidcar.ListaVeiculosBD;
import com.droidcar.VeiculosBD;
/**
 * Activity para visualizacao de veiculos e acesso as funcionalidades referentes ao veiculo.
 */
public class TelaVeiculo extends Activity {

	
	private int Tipo;
	private VeiculosBD oVeiculo; 
	private FavoritosDB oFavorito;
	private NumberFormat frmVal  = NumberFormat.getCurrencyInstance();
	private NumberFormat frmNum  = NumberFormat.getNumberInstance();
	
	TextView lbloVeiculo;
	Button btnFavoritos;
	Button btnImgens;
	Button btnContato;
	Button btnComparar;
	Button btnVoltar;
	
	TextView vwMarca_1;
	TextView vwModelo_1;
	TextView vwAno_1;
	TextView vwCor_1;
	TextView vwCombustivel_1;
	TextView vwKM_1;
	TextView vwValor_1;
	TextView vwOutros_1;
	
	TextView vwMarca_2;
	TextView vwModelo_2;
	TextView vwAno_2;
	TextView vwCor_2;
	TextView vwCombustivel_2;
	TextView vwKM_2;
	TextView vwValor_2;
	TextView vwOutros_2;	
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.veiculo);
		
		DataBaseCreate baseDados = new DataBaseCreate(getApplicationContext());
		SQLiteDatabase objDados  = baseDados.retornaBaseDados();
		oFavorito 				 = new FavoritosDB(objDados);			
		
		InicializaComponentes();
		
		oVeiculo			  = (VeiculosBD) getIntent().getSerializableExtra("VeiculosBD");
        Tipo			  	  = getIntent().getIntExtra("Tipo", 2);		
		
        if(Tipo == 1)        	
        	btnFavoritos.setEnabled(false);
        else
        	btnFavoritos.setEnabled(true);
        
        lbloVeiculo.setText(oVeiculo.getMDO_DESCRICAO()+" - "+frmNum.format(oVeiculo.getVCL_VALOR()));
        	
		vwMarca_1.setText("Marca:");
		vwModelo_1.setText("Modelo:");
		vwAno_1.setText("Ano:");
		vwCor_1.setText("Cor:");
		vwCombustivel_1.setText("Combustível:");
		vwKM_1.setText("Kilometragem:");
		vwValor_1.setText("Valor:");
		vwOutros_1.setText("Outras inf.:");        	
			
		vwMarca_2.setText(oVeiculo.getMCA_DESCRICAO());
		vwModelo_2.setText(oVeiculo.getMDO_DESCRICAO());
		vwAno_2.setText( String.valueOf( oVeiculo.getVCL_ANO() ) );
		vwCor_2.setText(oVeiculo.getCOR_DESCRICAO());
		vwCombustivel_2.setText(oVeiculo.getCMB_DESCRICAO());
		vwKM_2.setText(  frmNum.format(oVeiculo.getVCL_KM()));
		vwValor_2.setText( frmVal.format( oVeiculo.getVCL_VALOR()));
		vwOutros_2.setText(oVeiculo.getVCL_OBSERVACAO()); 
			
		
	}
	/**
	 * Inicilizacao de componentes e eventos.
	 */	
	public void InicializaComponentes(){

		
		lbloVeiculo 		  = (TextView) findViewById(R.campo.Veiculo);
				
		vwMarca_1		 = (TextView) findViewById(R.linha.marca_1);
		vwModelo_1		 = (TextView) findViewById(R.linha.modelo_1);
		vwAno_1			 = (TextView) findViewById(R.linha.ano_1);
		vwCor_1			 = (TextView) findViewById(R.linha.cor_1);
		vwCombustivel_1	 = (TextView) findViewById(R.linha.combustivel_1);
		vwKM_1			 = (TextView) findViewById(R.linha.km_1);
		vwValor_1		 = (TextView) findViewById(R.linha.valor_1);
		vwOutros_1		 = (TextView) findViewById(R.linha.outros_1);
			
		vwMarca_2		 = (TextView) findViewById(R.linha.marca_2);
		vwModelo_2		 = (TextView) findViewById(R.linha.modelo_2);
		vwAno_2			 = (TextView) findViewById(R.linha.ano_2);
		vwCor_2			 = (TextView) findViewById(R.linha.cor_2);
		vwCombustivel_2	 = (TextView) findViewById(R.linha.combustivel_2);
		vwKM_2			 = (TextView) findViewById(R.linha.km_2);
		vwValor_2		 = (TextView) findViewById(R.linha.valor_2);
		vwOutros_2		 = (TextView) findViewById(R.linha.outros_2);

		
		btnFavoritos	= (Button) findViewById(R.botao.AddFavoritos);
		btnImgens   	= (Button) findViewById(R.botao.Imagens);
		btnContato   	= (Button) findViewById(R.botao.Contato);
		btnComparar   	= (Button) findViewById(R.botao.Comparar);
		btnVoltar   	= (Button) findViewById(R.botao.Voltar);
		
		btnImgens.setOnClickListener( new View.OnClickListener() {
			
			public void onClick(View arg0) {
				
				//Abre a tela com as imagens do veículo selecionado
				
				ArrayList<String> lista = new ArrayList<String>();
				lista.add(oVeiculo.getVCL_IMG_NORMAL());
				
				Intent telaImagens = new Intent(TelaVeiculo.this, TelaImagens.class);
				telaImagens.putStringArrayListExtra("Imagens", lista);
				TelaVeiculo.this.startActivity(telaImagens);
				
				
			}
			
		});
		
		btnContato.setOnClickListener( new View.OnClickListener() {
			
			public void onClick(View arg0) {
				
				//Abre a tela de contato para a revenda/concessionária do veículo selecionado
				
				Intent contato = new Intent(TelaVeiculo.this, TelaContato.class);
				contato.putExtra("Veiculo", oVeiculo);
				TelaVeiculo.this.startActivity(contato);
				
			}
			
		});	
		
		btnComparar.setOnClickListener( new View.OnClickListener() {
			
			public void onClick(View arg0) {
				
				//Abre a tela de comparação carregando o cadastro do lado livre ou mais antigo
  				Intent comparar = new Intent(TelaVeiculo.this,TelaComparar.class);    			
    			ListaVeiculosBD obj = new ListaVeiculosBD();
    			obj.addLista(oFavorito.retornaListaFavoritos());    			
    			comparar.putExtra("ListaVeiculos", obj);
    			comparar.putExtra("Tipo", 2);
    			comparar.putExtra("Veiculo", oVeiculo);
    			
    			TelaVeiculo.this.startActivity(comparar);
				
			}
			
		});
		
		
		btnVoltar.setOnClickListener( new View.OnClickListener() {
			
			public void onClick(View arg0) {
				
				finish();			
				
			}
			
		});
		
		btnFavoritos.setOnClickListener( new View.OnClickListener() {
			
			public void onClick(View arg0) {
				
				if(oFavorito.SELECT(" ").size() <= 0){
					oFavorito.setVCL_CODIGO(oVeiculo.getVCL_CODIGO());
					oFavorito.setMDO_CODIGO(oVeiculo.getMDO_CODIGO());
					oFavorito.setMCA_CODIGO(oVeiculo.getMCA_CODIGO());
					oFavorito.setCMB_CODIGO(oVeiculo.getCMB_CODIGO());
					oFavorito.setCOR_CODIGO(oVeiculo.getCOR_CODIGO());
					oFavorito.setVCL_ANO(oVeiculo.getVCL_ANO());
					oFavorito.setVCL_KM(oVeiculo.getVCL_KM());
					oFavorito.setVCL_VALOR(oVeiculo.getVCL_VALOR());
					oFavorito.setVCL_OBSERVACAO(oVeiculo.getVCL_OBSERVACAO());
					oFavorito.INSERT();					
				}				
				btnFavoritos.setEnabled(false);
				
			}
			
		});
		
	}

}
